perm filename SYNSUB.FAI[PIX,HPM] blob sn#463417 filedate 1979-08-03 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00004 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002		TITLE SYNSUB
C00003 00003	HELPER:	OUTSTR	[ASCIZ \
C00006 00004	FILNM:
C00008 ENDMK
C⊗;
	TITLE SYNSUB
	ENTRY	HELPER,FIRST1,FIRST2,FIRST3,FIRST,CRLF
	ENTRY	FILNM,FONTNO

P←17 ↔ A←1 ↔ B←2 C←3 ↔ D←4

RETAD:	0
RETAD1:	0
ESS:	0
	0
SING:	ASCIZ \ is\
PLUR:	ASCIZ \s are\


NUMOUT: POP	P,RETAD1
	POP	P,A
	PUSH	P,RETAD1
	MOVE	0,SING
	CAIE	A,1
	MOVE	0,PLUR
	MOVEM	0,ESS

outdec:	jumpge a,outde1
	push p,a
	movei a,"-"
	outchr a
	pop p,a
	movn a,a
outde1:	idivi a,12
	hrlm b,(p)
	skipe a
	pushj p,outdec
	hlrz a,(p)
	addi a,"0"
	outchr a
	popj p,
HELPER:	OUTSTR	[ASCIZ \
XGPSYN displays files on the video synthesizer, imitating the XGP.  It can
fill the screen with 1/2, 1 or 2 pages at time.

Tell it which file you want to look at, either in the command line (R
XGPSYN;FILENAME) or in answer to the FILE: question, and any spooler style
switches, such as /FONT=BASL30 (.XGP files already contain all necessary
switches).  The page number questions can be answered with the page you
want to view, any additional spooler switches, or one of the following
commands:

	H	Half density. Next display will be 1/2 page/screen.
	F	Full density. 1 page/screen.
	D	Double density. 2 pages/screen.

	C	display on your own DD channel instead of video synthesizer
	S	use video synthesizer instead of own channel

	V	view. Redraw the last display.
        W	negate subsequent displays. B/W → W/B and W/B → B/W.
	K	kill. Erase the synthesizer.
	Q	quit. Exit program and load line editor with XS command.

	L(a:b)	list pages a thru b on the XGP. Slower, more tolerant than XSPOOL.

	B	Bitwise resolution. Next display will be suitable for XGPing.
	T	Transposed bitwise resolution. Sideways B.
	E	Enormous resolution. Next display can be sent expanded to XGP.

	O	output the last display as a data compressed picture file.
	P	output the last display as a standard hand/eye picture file.
	X	XGP output the last B,T or E display.

Notes:  The video synthesizer is a video rate D/A driven by data disc
channels 30 through 37. H density requires 3 of these channels, F needs 4
and D wants 5. These are rarely available during heavy system load. It
takes about 6 CPU seconds to compose a single page.

\]
	POPJ	P,
FILNM:
	OUTSTR	[ASCIZ \FILE NAME\]
	POPJ	P,

FONTNO:	POP	P,RETAD
	OUTSTR	[ASCIZ \FONT#\]
	PUSHJ	P,NUMOUT
	OUTSTR	[ASCIZ	\=\]
	JRST	@RETAD

CRLF:	OUTSTR	[ASCIZ \
\]
	POPJ	P,

FIRST:	SKIPN	FIRF
	OUTSTR	[ASCIZ \
(or <cr> for next window,
 H,F,D to change density,
 V to redraw, K to erase, Q to quit,
 B,T,E,W,X,L or spooler switches)\]
	AOS	FIRF
	POPJ	P,

FIRF:	0

FIRST1:	SKIPN	FIRF1
	OUTSTR	[ASCIZ \
(eg. 3.5 for p3 bottom [or 2-1.5 if no formfeeds])\]
	AOS	FIRF1
	POPJ	P,

FIRF1:	0

FIRST2:	SKIPN	FIRF2
	OUTSTR	[ASCIZ \ <esc>47S to view\]
	AOS	FIRF2
	POPJ	P,

FIRF2:	0

FIRST3:	SKIPN	FIRF3
	OUTSTR	[ASCIZ \(and any switches)\]
	AOS	FIRF3
	POPJ	P,

FIRF3:	0

	END